Add setup_Experience_platform notes for ipa - #50632
Conversation
| - For Fleet-maintained apps, if `categories` is omitted, apps get their [default categories](https://github.com/fleetdm/fleet/tree/main/ee/maintained-apps/outputs). If `categories` is empty, default categories are removed. If custom categories are specified, apps don't get their default categories unless they're specified explicitly. | ||
| - `setup_experience` installs the software when hosts enroll (default: `false`). On Windows and Linux hosts, if the software has associated policies, Fleet checks them first and skips the install when the host passes all of them. Learn more in the [setup experience guide](https://fleetdm.com/guides/setup-experience). | ||
| - `setup_experience_platform` specifies which platform to target for the `.sh` script-only packages in setup experience. Choices for `platform` are `darwin` and `linux`. If not specified and `setup_experience` is `true`, Linux is the default platform. | ||
| - `setup_experience_platform` specifies which platform to target for the `.sh` script-only packages and `.ipa` packages in setup experience. Choices for `platform` are `darwin` and `linux` for `.sh` and `ios` and `ipados` for `.ipa`. If not specified and `setup_experience` is `true`, Linux is the default platform for `.sh` and `ios` is the default for `.ipa`. |
There was a problem hiding this comment.
@melpike let me know if you disagree with
iosis the default for.ipa
I just sort of guessed. The alternative is we just say that setup_experience: true defaults to ipados or both ios and ipados is an option as well
There was a problem hiding this comment.
@JordanMontgomery Just to clarify, we SHOULD support the setup_experience boolean flag on IPA entries in GitOps?
If that is set to true and no setup_experience_platforms exist, then we only mark it as setup for iOS? Or should we just ignore that value and only let setup_experience_platforms decide?
There was a problem hiding this comment.
I took this as documented and made the changes in my PR. But yes, would want to know more and have a clarity on this.
There was a problem hiding this comment.
@MagnusHJensen Yes we should support setup_experience: true for these and default to iOS. The idea was just to more or less match script only package behavior which default to a specific platform when you do that. Some more discussion here: https://fleetdm.slack.com/archives/C03C41L5YEL/p1785872604636629?thread_ts=1785872215.845759&cid=C03C41L5YEL
IMHO ideally a customer would just use setup_experience_platforms but I think this is the most consistent thing we can do for now
There was a problem hiding this comment.
@raju249 Based on my testing this does not work in your PR as it stands right now. Let me know if maybe my testing was off.
There was a problem hiding this comment.
@MagnusHJensen - This PR #51135 actually delivers the app to the device.
#51124 just supports the CRUD, thats it. Does not add the send-to-device part.
There was a problem hiding this comment.
I'm referring to the GitOps setup_experience: true which should be part of #51124, and based on my last test is not handled properly.
There was a problem hiding this comment.
Ah! got it. Yes, the fresh app lands on iOS, but already existing apps, with just the boolean landed on iPadOS due to ordering issue in the query and the upload code happens to insert the iPadOS row first. Fixed it in the same PR. My bad to miss this case.
Related issue: Related to #33995